#include<iostream>

using namespace std;
int n;
// dfs

// zdl:: 这道题目就直接记住这道题目的写法，积累经验！！
int sum;
int a[10];
void dfs(int pos)
{
    if (sum > n) return ;
    if (sum == n)
    {
        if (pos == 2) return ; //想要直接输出答案时，必须要保证有两个数字在队列中！！！
        for (int i = 1; i < pos - 1; i++)
            cout << a[i] << "+";
        cout << a[pos - 1] << endl;
    }
    // zdl:: 接下来就是搜索相应的要求了
    for (int i = a[pos - 1]; i <= n; i++)
    {
        sum += i;
        a[pos] = i;
        dfs(pos + 1);
        sum -= i;
        a[pos] = 0;
    }
}

int main()
{
    cin >> n;
    a[0] = 1;
    dfs(1);

    return 0;
}